CPSC 441 Learning Outcomes By the end of this course, students will be able to: 1. Describe the layered architecture of the Internet protocol stack, and discuss the functionality of each layer. 2. Explain what a network protocol is, list several Internet protocols, and explain for what purpose they are used. 3. Explain the functionality and operation of specific network protocols such as HTTP, FTP, SMTP, DNS, TCP, UDP, and BGP. 4. Understand how application-layer messages are carried in the Internet by describing the encapsulation/decapsulation process, store-and-forward mechanism, routing, and addressing. 5. Analyze a simple computer network consisting of multiple routers and links to compute performance metrics such as throughput and end-to-end delay. 6. Develop client-server network programs that communicate with each other over the Internet using TCP and/or UDP. 7. Compare and contrast TCP and UDP, and explain how reliability and congestion control are implemented in TCP. 8. Explain how IP addresses are obtained and assigned to end systems, and discuss the operation of DHCP and NAT and how they relate to IPv4 and IPv6. 9. Describe what a MAC protocol is and compare different types of MAC protocols in wired and wireless networks, including ALOHA and CSMA. 10. Understand the past, present, and potential future impacts of Internet technology on our networked society.