Introduction to Communication NetworksProf. James P.G. Sterbenz <firstname.lastname@example.org>
Department of Electrical Engineering and Computer Science,
The University of Kansas
3 credit hours
An introduction to the principles used in communication networks is given in this course. Topics include a discussion of the uses of communications networks, network traffic, network impairments, standards, layered reference models for organizing network functions. Local Area Network technology and protocols are discussed. Link, network, transport layer protocols, and security are introduced. TCP/IP networks are stressed. VoIP is used as an example throughout the course. Basic concepts of network performance evaluation are studied, both analytical and simulation techniques are considered.
EECS 168 or 169 (programming) and EECS 461 or Math 525 (probability).
This course is intended for undergraduates; graduate students should take EECS 780.
Time and Location
EECS 563 meets during the day on the Lawrence main campus.
While influenza traditionally peaks in the spring, first cases frequently appear in the fall. I use alcohol-based sanitiser and regularly use, 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 immediately 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 563 students, as well as other seriously interested parties are welcome to request to join the EECS 563 Facebook group.
Lectures and Readings
|Administrivia and Ethics|
|ISO 7948-1||–|| S:2|
|History and Architecture|
ARPANET, NSFNET, Internet
|Networked Applications and|
|Cloud PaaS, IaaS, SaaS|
HTTP, SMTP (msg), IMAP
|K:2–2.4, 2.6–2.8|| S:8|
|UDP, TCP|| K:3|
IPv6 (addr), ICMPv6
|K:2.5, 4|| S:5.2–5.3.4; 5.4–5.5 |
Routing and Management
|Link Layer and LANs|
|802.1, 802.2, 802.3|
Mobile and Wireless
Resilience and Survivability
|IPsec (AH, ESP)||K:8|| NET-SR|
Reading assignments: K = Kurose & Ross (required); S = Sterbenz & Touch (optional on reserve for EECS780)
James F. Kurose and Keith F. Ross,
Computer Networking: A Top-Down Approach Featuring the Internet, seventh 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 may need to follow the instructions at the bottom of the page or on the book to separately purchase a licence. Note that you do not need this licence to access the Wireshark exercises; the direct link is in the schedule table.
You must use the current edition of this book; previous editions are not up-to-date in some areas and have different homework problems.
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 780.
A number of supplementary textbooks covering aspects of communication networks in more depth are on reserve in the Spahr Library, and listed on the EECS 780 Web page.
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. Employer reimbursement and immigration status cannot be a consideration in the final grade.
|A||exceptional exam results and assignment scores|
|B||mastery of material|
|C||slacking but know basic material|
|D||very poor performance on exams and assignments|
|F||non-performance on exams, or academic misconduct in class|
Final grades in this course do not have the + and – modifiers.
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.
|20%||exam 3 (portion of final exam)|
|20%||comprehensive portion of final exam|
|10%||Wireshark and socket programming exercises|
|0%||effort “Do. Or do not. There is no try.” —Yoda|
Attendance for the lecture sessions is mandatory, and regular attendance is the only way for students to know what will be emphasised on the exams.
Assignments and Exams
Homework and Assignments
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. An socket programming exercise provides additional practical experience.
Specific assignments and dates are located in the course offering page for a given semester. Homework and lab assignments must either be submitted on the due date in class or in person to the EECS office to be timestamped before closing (typically 16:30) on the due date. Late assignments will not be accepted for grading and wil receive zero credit.
Exams will be closed book and notes with no electronics permitted. 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 content 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
- PR: Preliminaries
- protocol: rules for communicating consisting of:
- message formats (data plane) and sequence (control plane)
- and operation (state machines)
- protocol cube model consisting of:
- layers: especially social, application, end-to-end transport, network, hop-by-hop link
- planes: data and control bisecting the layers, and management across all other layers and planes
- Internet hourglass model
- communication flow diagrams
- protocol: rules for communicating consisting of:
- HA: Network history and architecture
- comparison among circuit, message, and packet switching
- ARPANET to NSFNET to high-level structure of the modern Internet
- AL: Networked applications
- application characteristics: delay, bandwidth, loss tolerance
- application types and utility curves: best effort and interactive
- application categories: information access, telepresence, distributed computing and storage
- the Web
- components: Web browser client, server, HTTP protocol
- HTTP operation and flow diagrams
- performance optimisations: persistence and pipelining
- caching and CDNs for latency and aggregate bandwidth reduction
- components: clients (original operation) and protocols: SMTP and MIME
- SMTP operation
- later servers and protocols: POP and MIME
- P2P file sharing and swarming
- centralised, distributed, hybrid content location for client/server sharing
- BitTorrent operation for file swarming
- social networking concepts
- TL: End-to-end communication and transport protocols
- transport layer services, interfaces, and functional placement
- the End-to-End Arguments:
- what functionality must be E2H for correct operation
- what functionality should be duplicated HBH for overall performance improvement
- transfer modes: datagram, connection, streaming, transaction
- framing: transport protocol headers
- multiplexing: transport protocol identifiers and application port numbers
- ARQ error control operation, flow diagrams, and performance comparison
- selective repeat
- flow vs. congestion control
- UDP concepts and operation
- TCP concepts and operation
- connection management: SYN, SYNACK, ACK; FIN, ACK
- closed-loop congestion control: slow start and AIMD
Exam 2: Lower Layers
- NL: Network layer
- network layer functions: addressing, forwarding, routing, signalling, traffic management
- hourglass principle: common addressing and forwarding; any transport protocol over IP over any link lauer
- network layer service models and best effort service vs. best effort applications (NET-AL) applications
- signalling and transfer paradigms: circuits, virtual connections, datagrams
- generic switch (and router) architecture
- fast packet switch motivation and architecture
- switch fabrics: crossbar and multistage delta
- PSTN addressing and signalling
- DNS functions, name structure, and operation
- IP important packet fields: version, IHL, length, TTL, protocol, header checksum, addresses
- IP address formats: class-based, subnetting, CIDR
- NAT motivation and operation
- ICMP purpose and examples: ping and traceroute
- IPv6 motivation and 128b addresses
- IP lookup: longest prefix match
- SDN and OpenFlow concepts and architecture
- NR: Network Routing
- Difference between routing and forwarding
- Graph network model and link costs
- Routing algorithm alternatives: link state vs. distance vector
- Link state routing concepts and operation
- Internet routing structure: ASs / routing domains; intradomain vs. interdomain
- Intradomain routing protocol OSPF concepts and link-state operation
- Interdomain routing protocol BGP path-vector concepts and operation
- LL: Link Layer and LANs
- Link layer functions and services
- Link framing and delineation: preamble pattern
- Link types and topologies: point-to-point mesh vs. shared medium
- Bus and ring shared medium topology and comparison
- IEEE 802 LAN protocol stack and Ethernet evolution by orders of magnitude in rate
- Link layer multiplexing and switching
- Link layer error detection and control
- Link layer components: evolution through bridges, hubs, and switches
- VLANs concepts
- ARP concepts
- Concepts and major types of residential broadband: DSL and HFC
- Data center network characteristics and architecture
Exam 3 (portion of final exam)
- PL: Physical Layer
- Types of line coding: binary vs. analog; amplitude, frequency, and phase
- Types of physical media: wire, fibre, free space
- RF spectrum: ISM bands and licensing vs. regulation
- Attenuation due to distance and frequency
- Propagation: direct, reflection, diffraction, scattering, and multipath distortion
- MW: MAC, Wireless and Mobile Networking
- Types of MAC
- Channel partitioning: TDMA, FDMA, CDMA
- Coordinated MAC: token ring concepts
- Random access: ALOHA, CSMA, CSMA/CD
- Wireless network elements
- CSMA/CA and hidden nodes
- 802.11 architecture and operation
- 802.11 MAC control and frame flow (with IFS and RTS/CTS)
- Bluetooth/802.15 and 802.16 high-level concepts
- Mobility and MobileIP
- Mobile telephone generation major characteristics
- SR: Security and Resilience
- Communication and threat model
- Security functions and services: confidentiality, integrity, digital signatures, authentication
- cryptography concepts; DES and AES high-level features
- certificates and revocation
- end-system protection: virus scanners, firewalls, and IDSs
- application security motivation; HTTPS, SSH, and secure email concepts
- SSL/TLS concepts, protocol stack, and high-level operation
- IPsec ESP and VPN concepts; transport vs. tunnel mode
- Wireless LAN security and 802.11 WEP/WPA motivation
- Resilience concepts
- Dependability: reliability vs. availability
- MT: Multimedia Networking, Session Control, and Traffic Management
- Multimedia application concepts and characteristics
- RTP and RTCP high-level concepts
- SIP and H.323 high-level concepts
- Session layer concepts and generic flow
- Service models: best effort, probabilistic, absolute
- Traffic parameters: rate, delay, jitter, reliability, order
- Basic queueing models and M/M/1 delay and load curves
- Congestion control and avoidance
- AQM: RED and ECN concepts
- scheduling disciplines: FIFO, priority, round robin, WFQ
- IntServ, RSVP, and DiffServ role and concepts
Final Exam (comprehensive portion)
- any course material
- synthesis of multiple areas
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 on-going 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 09 November 2017 – Valid XHTML 1.1 – Lynx inspected – W3C AAA Conformance
©2003–2017 James P.G. Sterbenz <email@example.com>
- Взмахом руки Клушар величественно отверг вопрос Беккера. - Они не преступницы - глупо было бы искать их, как обычных жуликов. Беккер все еще не мог прийти в себя от всего, что услышал. - Может, там был кто-нибудь. - Нет.