Communication Networks Prof. James P.G. Sterbenz
Department of Electrical Engineering and Computer Science, The University of Kansas
Course Description 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.
Prerequisites 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.
Computer Accounts 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 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 lesssophisticated 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/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. Edwards Location 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.
Influenza Precautions 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.
Course Offerings Detailed information about individual offerings of this course are located on the following pages, including schedule and homework assignments. Fall 2018: KU EECS/IT 780 (planned) Fall 2017: KU EECS/IT 780 (Edwards Campus) Fall 2016: KU EECS 780 (Edwards Campus) Fall 2015: KU EECS 780 (Lawrence Campus with a videolink to Edwards Campus) Fall 2014: KU EECS 780 (Lawrence Campus with a videolink to Edwards Campus) Spring 2013: KU EECS 780 (Lawrence and Edwards Campus) Spring 2012: KU EECS 780 (Lawrence and Edwards Campus) Spring 2011: KU EECS 780 (Lawrence and Edwards Campus) Spring 2010: KU EECS 780 (Edwards Campus) Spring 2009: KU EECS 780 (Edwards Campus) Spring 2008: KU EECS 780 (Edwards Campus) Spring 2007: KU EECS 700 (Edwards Campus) Spring 2006: KU EECS 663 (Edwards Campus) Fall 2004: Northeastern University TSM G330 Data Networking 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.
Lectures and Readings EECS 780 Lectures Lecture
Reading
Subject
Key Protocols
Required
Optional
Administrivia and Ethics NET-AE [display]
–
Ethics Citation
–
Preliminaries and Network Science NET-PR [display]
ISO 7948-1
–
–
PSTN NPL, CYCLADES ARPANET, NSFNET, Internet
History and Architecture NET-HA [display]
Networked Applications and Social Networking NET-AL [display]
End-to-End Transport NET-TL [display]
Network Layer: Addressing, Forwarding, Signalling NET-NL [display]
K:1 S:2–2.2, 3–3.1.3 [C1988]
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) K:2–2.4, 2.6–2.8 POP (ext), IMAP S:8.1–8.2 IRC (arch, chan, client, serv) Telnet (opt, bin, echo, supr, satus, time, list, others) host requirements Napster, Gnutella, BitTorrent JXTA (protcols) Grid: (services, data)
S:8.3–8.5 [GW2004]:1 [S1994]:26-30 [KR2001] [SW2005]:2–5 [R1983]:11
UDP, (hdr compress) 7 TCP, (SACK, cong ctl, ECN, hdr compress, perf BIC, CUBIC, CTCP T/TCP, (concept) host requirements
[GW2004]:8.4–8.5 [S1994]:11,17–24 [PC1993]:12 [W2005]:1–3
K:3 S:7–7.2.2 [SRC1984] [BF+2005]
DNS (concept) IP (subnets, CIDR arch, MTU, req), IGMP, ICMP ARP, RARP IPv6 (addr, ND, autoconfig, MTU), ICMPv6 DHCP, NAT (term) K:2.5, 4 — S:5.2–5.3.4; 5.4–5.5 X.25 CONS CLNP ATM (sig) MPLS (labels, TTL, null, RSVP-TE, attrib), GMPLS PSTN, E.164
Network Layer: Routing NET-NR [display]
S:2.3–2.4 [GW2004]:1 [P2000]:1,18 [S1994]:1 [HP1995] [R1983]:1–4
RIP, OSPF ES-IS, IS-IS BGP — K:5.1–5.5 DHTs: CAN, Chord, Pastry, Tapestry and Chimera [PMZ2004] — ATM PNNI PSTN HIER, DNHR, RTNR
Network Management NET-NM
SNMP
Link Layer and LANs NET-LL [display]
802.1, 802.2, 802.3 DH/PDH, SONET/SDH, OTN VLAN trunking, L2TPv3 ARP, RARP CATV DOCSIS
Physical Layer NET-PL [display]
bits coded over electrons, IR photons, RF waves
[GW2004]:8.1–8.3, 8.4, 9 [P2000]:6–11,13 [S1994]:3–8,12–14 [PC1993]:13 [R1983]:6–8, 10 [S1995]:4–5, 8–11, 13–15
[GW2004]:7.1–7.6, 8.6–8.7 [P2000]12,14,17 [S1994]:9–10 [PC1993]:14 [A1998]:1
K:5.6–5.7
[S1994]:25 [R1983]:13–15
K:6 S:5.1.2–5.1.3
S:5.1.4 [GW2004]:4.1–4.7, 5 [P2000]:2–5 [S1994]:2 [R1983]:9
S:5.1–5.1.1
[GW2004]:3 [S2007]:3–6 [R1983]:6,12
MAC; Mobile and Wireless Networks NET-MW [display]
M-IP 802.11. Wi-Fi, 802.15 WPAN 802.16. WiMAX, 802.20 MBWA DSDV, AODV, DSR OLSR
K:7
[GW2004]:4.8, 6 [MM2004]
Security, Survivability, and Resilience NET-SR
IPsec (AH, ESP) MD5, SHA-1 DES, AES RSA SSL, TLS, SSH WEP, WPA
K:8
[GW2004]:11 [S2003]
Multimedia and Session Control NET-MS [display]
RTSP RTP, RTCP (AV profile), SIP (notify, IWF), SDP H.323
K:9.1–9.4
[GW2004]:10.6–10.7,12 [R1983]:5,16
Traffic Management and QoS NET-TQ [display]
ECN (nonce) IntServ (GS, CL) RSVP (msg proc, IntServ, policy, BW red, applic) DiffServ, (term, DSCP) K:9.5–9.6 DS PHP (AF, EF, supl, del bnd), DS PDB, (LE) — ATM-TM (UBR rate, diff UBR) MPLS-TE
[GW2004]:11 [W2005]:4–6 [W2001] [R1983]:5,16
Reading assignments: K = Kurose & Ross, S = Sterbenz & Touch
Required Textbooks 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
Optional Textbook 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.
Supplementary Textbooks 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.
General Networking and Communication [GW2004] 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) [S2007] William Stallings, 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, Addison-Wesley, 1993. (Classic that provides both the Internet and OSI protocols and philosophy) [S1994] W. Richard Stevens, TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1994. – and – [S1996] 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.) [R1983] 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.) [S1995] 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 [S2012] 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.) [C2012] 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.)
History [HP1995] 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.)
IPv6 [H2014] Silvia Hagen, IPv6 Essentials, O’Reilly, 2014. (Modern coverage of IPv6 and transition techniques)
Mobile and Wireless Networking [MM2004] 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 [S2005] 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 [WMB2006] 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 [DPS2011] 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 [KR2001] 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.) [SR2009] 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 [SW2005] 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.) [BYL2009] 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 [P2000] 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.) [MR2007] 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.) [DC2006] 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.) [DC2001] 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.) [BMW2000] 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.) [WZ2001] Ralph Wittmann and Martina Zitterbart, Multicast Communication: Protocols and Applications, Morgan-Kaufmann Academic Press, 2001. (Broad survey of group communication protocols and algorithms.) [A1998] Gerald R. Ash, Dynamic Routing in Telecommunications Networks, Mc-Graw-Hill, 1998. (Routing in the PSTN.)
Cloud Computing and Data Centre Networks [EPM2013] Thomas Erl, Ricardo Puttini, and Zaigham Mahmood, Cloud Computing: Concepts, Technology & Architecture, Prentice Hall, 2013. (Cloud computing and networking)
IoT (Internet of Things) [HBE2012] Oliver Hersent, David Boswarthick, and Omar Elloumi, The Internet of Things: Key Applications and Protocols, Wiley, 2012. (IoT protocols and Technology)
Security and Information Assurance [S2011] 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.) [KPS2002] 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 [W2001] 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). [W2005] Michael Welzl, Network Congestion Control, John Wiley, Chichester UK, 2005. (Congestion control for TCP and the Internet, including recent and proposed enhancements.)
Network Administration [NS+2011] 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 [C1988] David D. Clark, “The Design Philosophy of the DARPA Internet Protocols”, Proceedings of ACM SIGCOMM 1988 Stanford, CA, 1988, pp. 106–114 [SRC1984] 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 [PMZ2004] 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. [BF+2005] 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 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. EECS 780 Final Grade Modes Grade A B C D F
Meaning exceptional quiz + exam results and outstanding paper mastery of material and solid paper slacking but know basic material and marginal paper very poor performance on quizzes and exams or paper 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. EECS 780 Grading Weight 12% 12% 12% 12% 12% 15% 10% 15% 0%
Component exam 1 exam 2 exam 3 (portion of final exam) comprehensive portion of final exam pre-lecture quizzes on reading and lecture notes homework and laboratory exercises class participation including brownie points term paper and presentation (extra credit possible) effort “Do. Or do not. There is no try.” —Yoda
Assignments and Exams Note that wiht the exception of in-class quizzes and exams, all assignment and project milestones must be submitted electronically, and unless otherwise instructed must be as a PDF email attachment, and must have a filename of the format -
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.
Quizzes 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 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 HA: Network history and architecture circuit, message, and packet switching ARPANET, NSFNET, and privatised Internet PSTN: pre-divestiture and deregulated AL: Networked applications application characteristics: delay, bandwidth, loss tolerance application types and utility curves: best effort, interactive, real-time, and deadline application categories: information access, telepresence, distributed computing and storage file transfer and FTP the Web, HTTP and its performance optimisations P2P file sharing development, alternative architectures, and example systems Email and its protocols: SMTP, MIME, POP, and IMAP P2P file swarming and BitTorrent application adaptation social networking TL: End-to-end communication and transport protocols transport layer services, interfaces, and functional placement the end-to-end arguments framing and multiplexing state management: open vs. closed loop, hard vs. soft state impact of bandwidth and latency transfer modes: datagram, connection, stream, transaction ARQ error control: stop-and-wait, go-back-n, selective repeat transmission control: flow vs. congestion control open loop rate control closed loop window flow and congestion control slow start and AIMD UDP protocols: TCP connection management, data transfer, error/flow/congestion control
Exam 2: Lower Layers NL: Network layer network layer functions: addressing, forwarding, routing, signalling, traffic management network layer service models and best effort service vs. applications signalling and transfer paradigms: circuits, virtual connections, datagrams virtual circuit forwarding: label swapping generic switch (and router) architecture store-and-forward router architecture and bottlenecks fast packet switch motivation and architecture switch fabric blocking, contention, and architecture PSTN addressing structure and format 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 Fast datagram router motivation and architecture IP lookup: longest prefix match NR: Network Routing Difference between routing and forwarding Graph network model and link costs Routing algorithm alternatives Link state routing concepts and operation Distance vector routing concepts and operation PSTN routing types: HIER, DNHR, RTNR Internet routing structure: ASs / routing domains Intradomain routing protocol overview: RIP, (E)IGRP, ISIS Intradomain routing protocol OSPF concepts and operation Interdomain routing protocol BGP concepts and operation Broadcast algorithms: uncontrolled and RPF Multicast motivation; group shared, source-based, center-based Overlay routing DHT concepts and chord routing LL: Link Layer and LANs Link layer functions and services Link framing and delineation: synchronous, problems with counting, stuffing, preamble pattern, physical code Link types and topologies: point-to-point mesh vs. shared medium Bus and ring shared medium topology and comparison IEEE 802 LAN protocol stack: 802.2, 802.3, 802.5 Ethernet evolution by orders of magnitude in rate Link layer multiplexing and switching Transport networks: PDH, SONET, and OTN TDM, WDM Link layer error detection and control Link layer components: evolution through bridges, hubs, and switches VLANs, 802.1Q trunking, and L2 tunneling ARP concepts and operation Concepts and major types of residential broadband: DSL and HFC
Exam 3 (portion of final exam) PL: Physical Layer Types of line coding: binary vs. analog Amplitude, frequency, and phase modulation: DTMF, QPSK and QAM Communication challenges, noice, and SNR Types of physical media: wire, fibre, free space Multimode vs. single mode fibre RF propagation modes: ground wave, sky wave, LOS (line of sight) RF spectrum: ISM bands RF licencing 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 Random access: ALOHA, CSMA, CSMA/CD Wireless network elements CSMA/CA and hidden nodes 802.11 architecture and operation 802.16 and 802.16 high-level concepts Mobility and MobileIP MS: Multimedia and Session Control Multimedia application concepts and characteristics RTP and RTCP high-level concepts SIP and H.323 high-level concepts TQ: Traffic Management and QoS 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 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
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: Compare the Internet architecture and protocols with other alternatives, such as X.25, SNA, DECNET, XNS, or ATM, from both a technical perspective, as well as from a historical perspective and discuss why the TCP/IP based Internet became the Global Information Infrastructure Describe and compare alternative Internet service models: best effort, IntServ, DiffServ, and consider their future prospects. Describe the historical development of TCP/IP along with its evolution and adaptations for congestion control and high-speed networks. Compare the technical merits of IPv6 against IPv4 and describe the prospects and challenges for future deployment (considering CIDR and NATs). Compare competing Internet access technologies and their relative merits, disadvantages, and prospects for future deployment. This could either be wired vs. wireless (e.g. Ethernet vs. 802.11) or competing wireless technologies (e.g. 802.11 vs. 802.16 vs. 4G mobile telephony). Explain the impact of peer-to-peer applications on the Internet architecture as deployed in real networks, considering NATs, DHCP, asymmetric channels in HFC and DSL, and in terms of service restrictions on server operation. Explore alternative peer-to-peer application architectures, algorithms, and architectures, and the resulting performance to applications and impact on the network. Explore multicast applications and protocols, including IP multicast and reliable multicast proposals. Consider the benefits of network multicast vs. application-layer multicast, and prospects for deployment. Explore the survivability and resilience of the current network infrastructure and what might be done to improve it. 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.
Milestones 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.
Presentation 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.
Paper 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: 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