Comprehensive Computer Networking Study Guide
1. Network Performance & Fundamentals
(Sources: Lecture 1, 2, 3)
• Packet Switching vs. Circuit Switching:
◦ Packet Switching: Data is broken into chunks (packets). Resources are shared (Statistical Multiplexing).
There is no call setup. It is efficient but can cause queuing delay and loss.
◦ Circuit Switching: A dedicated path and resources (frequency/time slots) are established before
transmission. Performance is guaranteed, but bandwidth is wasted during silent periods.
▪ FDM (Frequency Division Multiplexing): Frequency spectrum divided into bands.
▪ TDM (Time Division Multiplexing): Time divided into slots.
• Types of Delay (dnodal ):
1. Processing Delay (dproc ): Time to check bit errors and determine the output link.
2. Queuing Delay (dqueue ): Time waiting for the output link to become available. Depends on congestion.
3. Transmission Delay (dtrans ): Time to push bits onto the link.
▪ Formula: L/R(Packet lengthL/ Link BandwidthR).
4. Propagation Delay (dprop ): Time to travel the physical medium.
▪ Formula: d/s(Distanced/ Speeds).
• Throughput: The rate (bits/sec) at which bits are transferred. The end-to-end throughput is constrained by
the bottleneck link (the link with the lowest speed).
--------------------------------------------------------------------------------
2. Application Layer
(Sources: Lecture 4, 5, 6)
• Application Architectures:
◦ Client-Server: Server is always-on with a permanent IP. Clients do not communicate directly (e.g., Web,
Email).
◦ Peer-to-Peer (P2P): Peers communicate directly. It is self-scalable but difficult to manage (e.g.,
BitTorrent).
• Key Protocols:
◦ HTTP (Web - Port 80):
▪ Type: Pull protocol. Stateless. Uses TCP.
▪ Non-Persistent: Opens a new TCP connection for each object. Response time = 2 RTT + Transmission
per object.
▪ Persistent: Multiple objects sent over a single TCP connection. Pipelining allows sending all requests at
once (1 RTT for all objects).
▪ Cookies: Used to maintain user state (sessions) because HTTP is stateless. Involves 4 components:
Cookie header in request, Set-cookie header in response, user file, and backend database.
▪ Proxy Server (Web Cache): Satisfies client requests without involving the origin server to reduce
response time and traffic.
◦ SMTP (Email - Port 25):
▪ Type: Push protocol. Uses TCP.
▪ Function: Transfers mail between mail servers. (User agents use POP/IMAP to retrieve mail).
▪ Process: Handshake (HELO) → Transfer → Closure. Uses 7-bit ASCII encoding.
◦ DNS (Domain Name System):
▪ Function: Maps Hostnames ([Link]) to IP addresses.
▪ Hierarchy: Root Servers → TLD Servers (e.g., .com) → Authoritative Servers (e.g., [Link]).
▪ Protocol: Uses UDP for fast queries.
◦ DASH (Streaming):
▪ Dynamic, Adaptive Streaming over HTTP.
▪ Server: Divides video into chunks encoded at different rates.
▪ Client: Periodically measures bandwidth and requests the highest quality chunk it can handle.
--------------------------------------------------------------------------------
3. Transport Layer
(Sources: Lecture 7, 8)
• Function: Provides logical communication between processes running on different hosts.
• Multiplexing/Demultiplexing:
◦ UDP (Connectionless): Demux uses a 2-tuple (Dest IP, Dest Port).
◦ TCP (Connection-Oriented): Demux uses a 4-tuple (Source IP, Source Port, Dest IP, Dest Port).
• UDP (User Datagram Protocol):
◦ Unreliable, unordered, lightweight. No connection setup.
◦ Checksum: Used for error detection. Sender adds 16-bit integers and takes the 1's complement. Receiver
adds all words (including checksum); result must be all 1s.
• TCP (Transmission Control Protocol):
◦ Reliable, in-order byte stream. Connection-oriented (3-way handshake).
◦ Flow Control: Prevents overflowing the Receiver's buffer. The receiver advertises the rwnd (Receive
Window) value in the segment header.
◦ Congestion Control: Prevents overloading the Network. Uses cwnd (Congestion Window).
▪ Phases: Slow Start (exponential growth), Congestion Avoidance (linear growth).
--------------------------------------------------------------------------------
4. Network Layer
(Sources: Lecture 9)
• Planes:
◦ Data Plane (Forwarding): Local action. Moving packets from router input to appropriate router output.
◦ Control Plane (Routing): Network-wide logic. Determining the route/path from source to destination.
• Router Architecture:
◦ Switching Fabrics:
1. Memory: CPU copies packet (Slowest).
2. Bus: Shared bus (Bandwidth limited).
3. Crossbar: Interconnection network (Fastest).
◦ Longest Prefix Matching: When forwarding, the router matches the destination IP to the table entry with
the longest matching sequence of leading bits.
• IP Addressing:
◦ Subnet: Device interfaces with the same subnet part of the IP address that can physically reach each other
without a router.
◦ CIDR: Classless InterDomain Routing (a.b.c.d/x). The /x is the subnet mask length.
--------------------------------------------------------------------------------
5. Data Link Layer
(Sources: Lecture 10)
• Function: Node-to-node transfer over a link. Encapsulates datagrams into Frames.
• Sub-layers:
1. LLC (Logical Link Control): Flow control, error messages.
2. MAC (Media Access Control): Hardware addressing, media access.
• Error Detection:
◦ Parity: 1D (detects single bit error) and 2D (detects and corrects single bit error).
◦ CRC (Cyclic Redundancy Check): Uses binary division (XOR operations).
▪ Steps: Append k−1zeros to data→Divide by GeneratorG using XOR → Remainder is the CRC.
--------------------------------------------------------------------------------
6. Physical Layer
(Sources: Lecture 2)
• Guided Media: Twisted Pair (Copper), Coaxial cable, Fiber Optic (Light pulses, high speed, low error).
• Unguided Media: Radio waves (WiFi, Cellular).
--------------------------------------------------------------------------------
7. Security
(Sources: Lecture 3, 4)
• Malware:
◦ Virus: Requires user interaction and a host file.
◦ Worm: Standalone, self-replicating, requires no user interaction.
• Encryption:
◦ TCP/UDP do not provide encryption.
◦ SSL (Secure Socket Layer): Application layer protocol used to provide encryption, data integrity, and
authentication (HTTPS).
--------------------------------------------------------------------------------
Essential Calculations for Exams
1. HTTP Response Time (RTT Calculation)
• Scenario: Downloading a Base HTML file + N embedded images.
• Assumption: Initial connection + Base file = 2 RTT.
• Non-Persistent (No Parallel): 2 RTT+(N×2 RTT).
• Non-Persistent (With Parallel Batches): 2 RTT+(Number of Batches×2 RTT).
• Persistent (Non-Pipelined): 2 RTT+(N×1 RTT).
• Persistent (Pipelined): 2 RTT+1 RTT (All small objects sent at once).
2. Transmission Time
•dtrans =R (Rate in bits/sec)L (Packet Size in bits)
• Tip: Watch for units! 1 Byte = 8 bits. 1 Mbps = 106 bits/sec.
3. Propagation Time
•dprop =s (Speed)d (Distance)
4. CRC Calculation (Binary Division)
• Perform XOR subtraction (same as addition without carry).
• If Data = 101110 and Generator (G) = 1001 (4 bits):
1. Append 3 zeros (length of G−1) to Data: 101110000.
2. Divide 101110000 by 1001.
3. The Remainder is the CRC.
1. Layer Functions (Internet Protocol Stack)
1. Application Layer
• Functions: Supports network applications and user software. It allows processes on different hosts to
communicate by exchanging messages. It handles protocols for specific tasks like email, file transfer, and web
browsing.
• Key Services: Web pages (HTTP), Email (SMTP), Name translation (DNS), Streaming (DASH).
2. Transport Layer
• Functions: Provides logical communication between processes running on different hosts.
• Key Services:
◦ Multiplexing/Demultiplexing: Gathering data from multiple sockets or delivering data to the correct
socket.
◦ Reliable Data Transfer (TCP): Ensures data is delivered without error and in order.
◦ Flow Control: Prevents the sender from overwhelming the receiver (using rwnd).
◦ Congestion Control: Prevents the sender from overwhelming the network.
3. Network Layer
• Functions: Provides logical communication between hosts. It is responsible for moving datagrams from
source to destination.
• Key Services:
◦ Forwarding (Data Plane): Moving packets from a router's input to the appropriate output.
◦ Routing (Control Plane): Determining the route/path taken by packets from source to destination.
◦ Addressing: Assigning unique IP addresses to interfaces.
4. Data Link Layer
• Functions: Responsible for transferring data (frames) between physically adjacent (neighboring) network
nodes over a link.
• Key Services:
◦ Framing: Encapsulating network packets into frames.
◦ Addressing: Using Hardware/MAC addresses.
◦ Error Control: Detecting and correcting bit errors (using CRC or Parity).
◦ Flow Control: Matching speed between stations on the same link.
◦ Media Access Control (MAC): Controlling access to the physical medium.
5. Physical Layer
• Functions: Responsible for moving bits "on the wire". It converts the data stream into signals to be sent
over physical media (guided or unguided).
--------------------------------------------------------------------------------
2. Abbreviations & Meanings
Network Types & Infrastructure
• PAN: Personal Area Network
• LAN: Local Area Network
• CAN: Campus Area Network
• MAN: Metropolitan Area Network
• WAN: Wide Area Network
• WLAN: Wireless Local Area Network
• WWAN: Wireless Wide Area Network
• ISP: Internet Service Provider
• DSL: Digital Subscriber Line
• DSLAM: Digital Subscriber Line Access Multiplexer
• NIC: Network Interface Card
Application Layer
• HTTP: Hypertext Transfer Protocol
• SMTP: Simple Mail Transfer Protocol
• FTP: File Transfer Protocol
• DNS: Domain Name System
• P2P: Peer-to-Peer
• URL: Unified Resource Locator
• HTML: Hypertext Markup Language
• POP: Post Office Protocol
• IMAP: Internet Mail Access Protocol
• SSL: Secure Socket Layer
• CDN: Content Distribution Network
• DASH: Dynamic, Adaptive Streaming over HTTP
• TLD: Top Level Domain
Transport Layer
• TCP: Transmission Control Protocol
• UDP: User Datagram Protocol
• RTT: Round Trip Time
• ACK: Acknowledgment
• NAK: Negative Acknowledgment
• rwnd: Receive Window
Network Layer
• IP: Internet Protocol
• CIDR: Classless InterDomain Routing
• DHCP: Dynamic Host Configuration Protocol
• NAT: Network Address Translation
• IGP: Interior Gateway Protocol
• EGP: Exterior Gateway Protocol
• OSPF: Open Shortest Path First
• RIP: Routing Information Protocol
• BGP: Border Gateway Protocol
• HOL: Head-of-the-Line (blocking)
Data Link & Physical Layer
• MAC: Media Access Control
• LLC: Logical Link Control
• CRC: Cyclic Redundancy Check
• FDM: Frequency Division Multiplexing
• TDM: Time Division Multiplexing
• GSM: Global System for Mobile communication
General/Other
• OSI: Open Systems Interconnection
• ISO: International Organization for Standardization
• FSM: Finite State Machine
• DDoS: Distributed Denial of Service
• CBR: Constant Bit Rate
• VBR: Variable Bit Rate