SIGCSE 2022
Networking and Communication (NC)
Networking and communication play a central role in interconnected computer systems that are transforming the daily lives of billions of people. The public Internet provides connectivity for networked applications that serve ever-increasing numbers of individuals and organizations around the world. Complementing the public sector, major proprietary networks leverage their global footprints to support cost-effective distributed computing, storage, and content delivery. Advances in satellite networks expand connectivity to rural areas. Device-to-device communication underlies the emerging Internet of things.
This knowledge area deals with key concepts in networking and communication, as well as their representative instantiations in the Internet and other computer networks. Beside the basic principles of switching and layering, the area at its core provides knowledge on naming, addressing, reliability, error control, flow control, congestion control, domain hierarchy, routing, forwarding, modulation, encoding, framing, and access control. The area also covers knowledge units in network security and mobility, such as security threats, countermeasures, device-to-device communication, and multihop wireless networking. In addition to the fundamental principles, the area includes their specific realization in the Internet as well as hands-on skills in implementation of networking and communication concepts. Finally, the area comprises emerging topics such as network virtualization and quantum networking.
As the main learning outcome, learners develop a thorough understanding of the role and operation of networking and communication in networked computer systems. They learn how network structure and communication protocols affect behavior of distributed applications. The area educates on not only key principles but also their specific instantiations in the Internet and equips the student with hands-on implementation skills. While computer-system, networking, and communication technologies are advancing at a fast pace, the gained fundamental knowledge enables the student to readily apply the concepts in new technological settings.
Compared to the 2013 curricula, the knowledge area broadens its core tier-1 focus from the introduction and networked applications to include reliability support, routing, forwarding, and single-hop communication. Due to the enhanced core, learners acquire a deeper understanding of the impact that networking and communication have on behavior of distributed applications. Reflecting the increased importance of network security, the area adds a respective knowledge unit as a new elective. To track the advancing frontiers in networking and communication knowledge, the area replaces the elective unit on social networking with a new elective unit on emerging topics, which includes middleboxes, virtualization, and quantum networking. Other changes consist of redistributing all topics from the old unit on resource allocation among other units, in order to resolve the unnecessary overlap between the knowledge units in the 2013 curricula.
NC. Networking and Communication (20 Core-Tier1 hours, 4 Core-Tier2 hours, 7 electives)
Core-Tier1 hours | Core-Tier2 hours | Includes Electives | |
NC/Introduction | 3 | ||
NC/Networked Applications | 4 | ||
NC/Reliability Support | 6 | ||
NC/Routing And Forwarding | 4 | ||
NC/Single-Hop Communication | 3 | ||
NC/Mobility Support | 4 | ||
NC/Network Security | 3 | ||
NC/Emerging Topics | 4 |
NC/Introduction
Cross reference IAS.
Topics:
- Importance of networking in contemporary computing, and associated challenges.
- Organization of the Internet (e.g. users, Internet Service Providers, autonomous systems, content providers, content delivery networks).
- Switching techniques (e.g., circuit and packet).
- Layers and their roles (application, transport, network, datalink, and physical).
- Layering principles (e.g. encapsulation and hourglass model).
- Network elements (e.g. routers, switches, hubs, access points, and hosts).
Learning Outcomes:
- Articulate the organization of the Internet. [Familiarity]
- List and define the appropriate network terminology. [Familiarity]
- Describe the layered structure of a typical networked architecture. [Familiarity]
- Identify the different types of complexity in a network (edges, core, etc.). [Familiarity]
NC/Networked Applications
Topics:
- Naming and address schemes (DNS, IP addresses, and Uniform Resource Identifiers).
- Distributed application paradigms (e.g. client/server, peer-to-peer, cloud, edge, and fog).
- Diversity of networked application demands (e.g. latency, bandwidth, and loss tolerance).
- An explanation of at least one application-layer protocol (e.g. HTTP, SMTP, and POP3).
- Interactions with TCP, UDP, and Socket APIs.
Learning Outcomes:
- Define the principles of naming, addressing, resource location. [Familiarity]
- Analyze the needs of specific networked application demands. [Familiarity].
- Describe the details of one application layer protocol. [Familiarity].
- Implement a simple client-server socket-based application. [Usage]
NC/Reliability Support
Cross references SF.
Topics:
- Unreliable delivery (e.g. UDP).
- Principles of reliability (e.g. delivery without loss, duplication, or out of order).
- Error control (e.g. retransmission, error correction).
- Flow control (e.g. stop and wait, window based).
- Congestion control (e.g. implicit and explicit congestion notification).
- TCP and performance issues (e.g. Tahoe, Reno, Vegas, Cubic, QUIC).
Learning Outcomes:
- Describe the operation of reliable delivery protocols. [Familiarity]
- List the factors that affect the performance of reliable delivery protocols. [Familiarity]
- Describe some TCP reliability design issues [Familiarity].
- Design and implement a simple reliable protocol. [Usage]
NC/Routing and Forwarding
Topics:
- Routing paradigms and hierarchy (e.g. intra/inter domain, centralized and decentralized, source routing, virtual circuits, QoS).
- Forwarding methods (e.g. forwarding tables and matching algorithms).
- IP and Scalability issues (e.g. NAT, CIDR, BGP, different versions of IP).
Learning Outcomes:
- Describe various routing paradigms and hierarchies. [Familiarity]
- Describe how packets are forwarded in an IP network. [Familiarity]
- Describe how the Internet tackles scalability challenges. [Familiarity].
NC/Single-Hop Communication
Topics:
- Introduction to modulation, bandwidth, and communication media.
- Encoding and Framing.
- Medium Access Control (MAC) (e.g. random access and scheduled access).
- Ethernet.
- Switching.
- Local Area Network Topologies (e.g. data center networks).
Learning Outcomes:
- Describe some basic aspects of modulation, bandwidth, and communication media. [Familiarity]
- Describe in detail on a MAC protocol. [Familiarity]
- Demonstrate understanding of encoding and framing solution tradeoffs. [Familiarity]
- Describe details of the implementation of Ethernet [Familiarity]
- Describe how switching works [Familiarity]
- Describe one kind of a LAN topology [Familiarity]
NC/Network Security
Cross reference IAS.
Topics:
- General intro about security (Threats, vulnerabilities, and countermeasures).
- Network specific threats and attack types (e.g., denial of service, spoofing, sniffing and traffic redirection, man-in-the-middle, message integrity attacks, routing attacks, and traffic analysis)
- Countermeasures
- Cryptography (e.g. SSL, symmetric/asymmetric).
- Architectures for secure networks (e.g., secure channels, secure routing protocols, secure DNS, VPNs, DMZ, Zero Trust Network Access, hyper network security, anonymous communication protocols, isolation)
- Network monitoring, intrusion detection, firewalls, spoofing and DoS protection, honeypots, tracebacks, BGP Sec.
Learning Outcomes:
- Describe some of the threat models of network security. [Familiarity]
- Describe specific network-based countermeasures. [Familiarity]
- Analyze various aspects of network security from a case study [Familiarity].
NC/Mobility
Topics:
- Principles of cellular communication (e.g. 4G, 5G).
- Principles of Wireless LANs (mainly 802.11).
- Device to device communication.
- Multihop wireless networks.
- Examples (e.g. ad hoc networks, opportunistic, delay tolerant).
Learning Outcomes:
- Describe some aspects of cellular communication such as registration. [Familiarity]
- Describe how 802.11 supports mobile users. [Familiarity]
- Describe practical uses of device to device communication, as well as multihop. [Familiarity]
- Describe one type of mobile network such as ad hoc. [Familiarity]
NC/Emerging topics
Topics:
- Middleboxes (e.g. filtering, deep packet inspection, load balancing, NAT, CDN).
- Virtualization (e.g. SDN, Data Center Networks).
- Quantum Networking (Intro to the domain, teleportation, security, Quantum Internet).
Learning Outcomes:
- Describe the value of middleboxes in networks [Familiarity].
- Describe the importance of Software Defined Networks [Familiarity]
- Describe some of the added value achieved by using Quantum Networking [Familiarity]