|
Nov 22, 2024
|
|
|
|
CS 2911 - Network Protocols3 lecture hours 2 lab hours 4 credits Course Description This course provides an introduction to the principles and practice of computer networking with emphasis on the Internet and related protocols, including HTTP, POP, IMAP, SMTP, DNS, UDP, and TCP/IP with a focus on the application, transport, and network layers. The course also introduces the structure, components, and functionality of network architectures including packet switching, error control, flow control, and congestion control. Security topics introduced include encryption and public key infrastructure. Throughout the course, an emphasis is placed on interpreting byte- and bit-level encoding of network protocols. (prereq: CS 1011 ) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Encode and decode binary and hexadecimal numbers
- Understand what a network protocol is and how it is specified
- Describe the purpose and operation of key application and transport protocols, including HTTP, POP, IMAP, SMTP, DNS, UDP, and TCP
- Describe the operation of the network layer and IP protocol.
- Describe network security concepts, security threats, and risks related to security breaches
- Describe important uses of cryptography in network security
- Write applications using socket connections
- Design procedural algorithms requiring several helper methods
- Design and implement a simple web server and email client
- Implement and break RSA public-key encryption and a public-key-signing infrastructure
- Use a monitoring tool to view and interpret network communication
Prerequisites by Topic
- Ability to design and implement small-scale software components and system
Course Topics
- Introduction to networking terminology, layering, and basic concepts
- Binary and hexadecimal number systems
- Python
- Procedural design
- Network applications
- HTTP, SMTP, and DNS protocols
- Socket programming
- Transport layer, UDP and TCP protocols
- Network layer, packet switching, datagrams
- Link layer, Ethernet
- Network security, cryptography, SSL/TLS protocols, public key infrastructure
Laboratory Topics
- Network monitoring tool use
- Network communication using socket connections
- Design and implementation of software using web and email protocols
- Implement and break example encryption algorithms and infrastructures
Coordinator James Lembke
Add to Portfolio (opens a new window)
|
|