Prerequisite: COSC 2310 – Data Structures and COSC 2410 – Computer Organization and Programming. It is recommended that you have taken COSC 4330 – Fundamentals of Operating Systems or are taking COSC 4330 concurrently.
What will be covered?
This course covers the concepts and protocols in computer networks with an emphasis on the principles and technologies employed on the internet. The material is covered in a top-down fashion from networking applications to low-level data communication. The major topics covered are as follows:
- General: Structure of networks and the internet, circuit, packet and message switching, routing, physical media, types of delay, internet protocol stack, internet backbone, NAPs (Network Access Points) and ISPs
- Application Layer: Structure of networking applications, Web and Web caching, FTP (File Transfer Protocol), Electronic mail, DNS (Domain Name Service), socket programming
- Transport layer: Transport layer principles, multiplexing and demultiplexing, UDP (User Datagram Protocol), principles of reliable data transport, TCP (Transmission Control Protocol), flow control, principles of congestion control, TCP congestion control
- Network Layer: Network layer services, datagram and virtual circuits, routing principles, link state routing algorithms, distance vector routing algorithms, hierarchical routing, Internet Protocol (IP), IP addressing, IP transport, fragmentation and assembly, ICMP (Internet Control Message Protocol), routing on the internet, RIP (Routing Information Protocol), OSPF (Open Shortest Path First), router internals, IPv6
- Link Layer: Link layer services, error detection and correction, multiple access protocols, LAN addressing and ARP (Address Resolution Protocol), Ethernet, CSMA/CD multiple access protocol, Hubs, Bridges, and Switches, Wireless LANs, PPP (Point to Point Protocol), Wide area protocols
- Selected topics from multimedia networking, network security, and real-life networks.
Primary Textbook: Computer Networking: A Top-Down Approach Featuring the Internet – 6th Ed., James F. Kurose and Keith W. Ross, Addison Wesley, 2013.
ISBN-10: 0132856204, ISBN-13: 9780132856201. Companion Website: http://wps.pearsoned.com/ecs_kurose_compnetw_6
Recommended Text: Computer Networks: A Systems Approach, 5th Edition
by Larry L. Peterson and Bruce S. Davie, Morgan Kaufmann, 2011. ISBN: 9780123850591.
920 pages. This is a well-written book on Computer Networks. Explanations of some concepts and protocols are better written than our textbook. We will use some content from this book as a supplement.
Computer Networks and Internets, 5th Ed.
by Douglas E. Comer Prentice Hall, 2008. ISBN: 9780136061274. 768 pages. This is another well written book. It has more in depth explanations on concepts and protocols, plus examples and code segments in network applications. Entire book is freely available on line at (http://www.netbook.cs.purdue.edu).
UNIX Network Programming: Networking APIs: Sockets and XTI, Vol. I, 3rd Ed. by W. Richard Stevens Prentice Hall, 2004. ISBN-13: 9780131411555. 1024 pages. This book also has a Vol. II. An older version of this book (ISBN: 0139498761) is out of print, but is available in the library.
Computer Networks, 5th Edition by Andrew S. Tannenbaum and David J. Wetherall
Prentice Hall, 2010. ISBN: 978-0132126953. 960 pages. Companion web site: http://computernetworks5e.org. A legendary textbook. Full of materials. Some parts might not be easy to read.
Lecture 1 – Chapter 1:Overview
Lecture 2 – Chapter 1: Internet
Lecture 3 – Chapter 1: Protocols
Lecture 4 – Chapter 2: Application Layer
Lecture 5 – Chapter 2: Internet Today – Vinton Cerf video
Lecture 6 – Chapter 2: HTTP
Lecture 7 – Chapter 2: Web Cache, FTP
Lecture 8 – Socket Programming
Lecture 9 – Chapter 2: e-mail, DNS
Lecture 10 – Chapter 2: P2P
Lecture 11 – Chapter 3: TCP, UDP, Reliable Transport
Lecture 12 – Chapter 3: Reliable Transport
Lecture 13 – Chapter 3: TCP Congestion Control
Lecture 14 – Chapter 3: TCP Congestion Control
Lecture 15 – Chapter 3: TCP variants, Chapter 4 virtual circuits
Lecture 16 – Chapter 4: Network functions, IP Addressing
Lecture 17 – Midterm
Lecture 18 – Chapter 4: NAT, Tunneling
Lecture 19 – Chapter 4: Routing
Lecture 20 – Chapter 4: Routing, BGP
Lecture 21 – Chapter 4: Broadcast, Multicast, Chapter 5 MAC prototcols
Lecture 22 – Chapter 5: ARP, Ethernet
Lecture 23 – Chapter 5: Ethernet, Switches
Lecture 24 – Chapter 5: VLAN, MPLS, DCN
Lecture 25 – Chapter 6: Wireless
Lecture 26 – Chapter 6: Mobility
Lecture 27 – Chapter 8: Cryptography
Lecture 28 – Chapter 8: Authentication, Certificates
Lecture 29 – Chapter 8: IPSec, WEP, Firewalls