Computer Networks: Course Logistics and Core Concepts
Course Logistics and Structure
- Grading Breakdown: Quizzes (10%), Assignments (30%), Midterm (25%), Final (35%).
- Pass Requirement: You must pass the Midterm and Final Exam in the aggregate (≥ 50%) to pass the course. If you miss the midterm with an official absence, the final exam weight shifts to 60%, and you must score at least 50% on the final to pass.
- Assignments: There are 3 programming assignments. You receive 4 total late days for the entire term, tracked daily (e.g., 1 minute late = 1 day used). Late days cover unexpected situations and self-declared short-term absences.
- Quizzes: 10 weekly multiple-choice quizzes with unlimited attempts. Only your best 8 quizzes count toward the final grade.
Core Concepts: Computer Networks and the Internet
- What is a Computer Network? It is a system that enables computers to exchange information. It consists of hosts (end systems like PCs, smartphones, servers) and network devices (routers, switches).
- The Internet: The Internet is one of the most important collections of computer networks, serving as the primary example for the course. It handles distributed applications and collectively processes millions of requests per second.
- Protocols: Information exchange is strictly governed by protocols.
- A protocol is defined as a system of rules explaining correct conduct and procedures.
- In networking, protocols dictate communication between computers and devices, detailing connection requests, responses, and specific message formats (e.g., an HTTP
GETrequest).
Data Transmission and Packets
- Packets: Data is not sent all at once. The sender breaks data into smaller chunks known as packets.
- Process: The sender performs “packetizing” (breaking the data down) and the receiver performs “reassembling” (putting the chunks back together to form the original data).
Communicating Over a Shared Network
Networking requires solving several challenging problems, such as deciding when a sender can transmit data, how to pick paths, and how to adapt to failures. The slides contrast two primary solutions for deciding how senders share network capacity:
Solution 1: Reserve Before Sending (Circuit-like)
- Concept: Before data is sent, a specific fraction of the network link’s capacity is dedicated entirely to that specific data transfer.
- Pros: Dedicated resources provide guaranteed, circuit-like performance. Because it is reserved, no one else can use it.
- Cons: Wasted capacity. If the sender and receiver are not actively transmitting data, the reserved capacity goes unutilized.
Solution 2: Send on Demand (Packet Switching)
- Concept: Data is sent dynamically as needed. The network accommodates multiple data flows (e.g., User A to C, and User B to F) simultaneously over the same links.
- Pros: Highly efficient. The network can accommodate multiple users sharing the same capacity without wasting unutilized reserved slots.
- Cons: When multiple senders transmit at the same time, packets may have to wait their turn, leading to delays (queuing) for the users.
Routing
- Routing Protocols: Determining how to get data from its source to its destination by picking “good” end-to-end paths.
- Mechanism: Arriving packets contain destination information. Routers communicate with each other (e.g., “I can reach A through R3!”) to coordinate the best path based on configured metrics.
- Challenges: Routing protocols are difficult to design. Network engineers must carefully balance factors like message overhead, convergence time, and the specific metrics used to decide what the “best” route is.
